photo-gallary -5 - responsive filterable

revision:


code:
                <section class="gallery_B">
                    <div class="container_B">
                        <div class="row_B">
                            <div class="gallery-filter">
                                <span class="filter-item active" data-filter="all">all</span>
                                <span class="filter-item" data-filter="travel">travel</span>
                                <span class="filter-item" data-filter="photograph">photograph</span>
                                <span class="filter-item" data-filter="people">people</span>
                                <span class="filter-item" data-filter="cars">cars</span>
                            </div>
                        </div>
                        <div class="row_B">
                            <div class="gallery-item travel">
                                <div class="gallery-item-inner"><img src="../images/1.jpg" alt="travel"></div>
                            </div>
                            <div class="gallery-item cars">
                                <div class="gallery-item-inner"><img src="../images/car1.jpg" alt="cars"></div>
                            </div>
                            <div class="gallery-item photograph">
                                <div class="gallery-item-inner"><img src="../images/7a.jpg" alt="photograph"></div>
                            </div>
                            <div class="gallery-item people">
                            <div class="gallery-item-inner"><img src="../images/tesla.jpg" alt="watch"></div>
                            </div>
                            <div class="gallery-item cars">
                                <div class="gallery-item-inner"><img src="../images/car4.jpg" alt="cars"> </div>
                            </div>
                            <div class="gallery-item travel">
                                <div class="gallery-item-inner"><img src="../images/2.jpg" alt="travel"></div>
                            </div>
                            <div class="gallery-item photograph">
                                <div class="gallery-item-inner"><img src="../images/10a.jpg" alt="photograph"></div>
                            </div>
                            <div class="gallery-item cars">
                                <div class="gallery-item-inner"><img src="../images/car3.jpg" alt="cars"></div>
                            </div>
                            <div class="gallery-item people">
                                <div class="gallery-item-inner"><img src="../images/tolkien.jpg" alt="people"></div>
                            </div>
                            <div class="gallery-item travel">
                                <div class="gallery-item-inner"><img src="../images/6.jpg" alt="travel"></div>
                            </div>
                        </div>
                    </div>
                </section>
                <style>
                   .container_B{max-width: 90vw; margin:auto;}
                    .row_B{display: flex; flex-wrap: wrap;}
                    .row_B .gallery-item .gallery-item-inner img{ max-width: 100%; vertical-align: middle;}
                    /*.gallery*/
                    .gallery_B{width: 100%; display: block; min-height: 100vh; background-color: #3f3e45; padding: 100px 0;}
                    .gallery_B .gallery-filter{padding: 0 15px; width: 100%; text-align: center; margin-bottom: 20px;}
                    .gallery_M .gallery-filter .filter-item{ color: #ffffff;font-size: 18px; text-transform: uppercase; display: inline-block;
                    margin:0 10px; cursor: pointer; border-bottom: 2px solid transparent; line-height: 1.2; transition: all 0.3s ease;}
                    .gallery_B .gallery-filter .filter-item.active{color: #ff9800; border-color : #ff9800;}
                    .gallery_B .gallery-item{width: calc(100% / 3); padding: 15px;}
                    .gallery_B .gallery-item-inner img{width: 100%;}
                    .gallery_B .gallery-item.show{ animation: fadeIn 0.5s ease;}
                    @keyframes fadeIn{
                        0%{opacity: 0; }
                        100%{opacity: 1;}
                        }
                    .gallery_B .gallery-item.hide{display: none;}
                    /*responsive*/
                    @media(max-width: 991px){
                        .gallery_B .gallery-item{width: 50%;}
                    }
                    @media(max-width: 767px){
                        .gallery_B .gallery-item{width: 100%;}
                        .gallery_B .gallery-filter .filter-item{margin-bottom: 10px;}
                    }
                    </style>
                <script>
                    const filterContainer = document.querySelector(".gallery-filter"),
                    galleryItems = document.querySelectorAll(".gallery-item");
                    
                    filterContainer.addEventListener("click", (event) =>{
                        if(event.target.classList.contains("filter-item")){
                            filterContainer.querySelector(".active").classList.remove("active");
                            event.target.classList.add("active");
                            const filterValue = event.target.getAttribute("data-filter");
                            galleryItems.forEach((item) =>{
                                if(item.classList.contains(filterValue) || filterValue === 'all'){
                                    item.classList.remove("hide");
                                    item.classList.add("show");
                                }
                                else{
                                item.classList.remove("show");
                                item.classList.add("hide");
                                }
                            });
                        }
                    });
                    </script>